// 详情字段配置
export interface DetailField {
  label: string
  prop: string
  component?: string
  componentProps?: Record<string, any>
  colSpan?: number
  visible?: boolean
  disabled?: boolean
  placeholder?: string
  options?: Array<{ label: string; value: any }>
  defaultValue?: any
  render?: (value: any, row: any) => string | number | boolean | null
}

// 详情对话框状态
export interface DetailState {
  visible: boolean
  title: string
  width: string | number
  loading: boolean
}

// 详情对话框配置选项
export interface DetailDialogOptions {
  title?: string
  width?: string | number
  loading?: boolean
  fields: DetailField[]
}

// 详情对话框事件
export interface DetailDialogEvents {
  'update:modelValue': (value: boolean) => void
  close: () => void
}
